Keir Fraser [Wed, 12 Dec 2007 10:40:02 +0000 (10:40 +0000)]
hvm: Fix is_isa_irq_masked().
Incorrectly it was not checking whether the vlapic is masking the pic.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Keir Fraser [Wed, 12 Dec 2007 10:38:14 +0000 (10:38 +0000)]
Fix build after I removed test_assign_device from domctl union.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 12 Dec 2007 10:29:35 +0000 (10:29 +0000)]
vt-d: Test device assignability in xend, but defer actual assignment to qemu-dm.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Keir Fraser [Wed, 12 Dec 2007 10:25:18 +0000 (10:25 +0000)]
hvm: MTRR MSRs save/restore support.
Signed-off-by: Disheng Su <disheng.su@intel.com>
Keir Fraser [Wed, 12 Dec 2007 10:22:39 +0000 (10:22 +0000)]
vt-d: Clean up hypervisor logging.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Keir Fraser [Wed, 12 Dec 2007 10:19:44 +0000 (10:19 +0000)]
docs: vtd.txt doc change
Added a note on conventional PCI device passthrough.
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Keir Fraser [Wed, 12 Dec 2007 10:08:54 +0000 (10:08 +0000)]
ia64, xend: Close nvram file when rebooting HVM domain
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Wed, 12 Dec 2007 10:08:14 +0000 (10:08 +0000)]
xend: Fix cleanup_domains() for suspending managed domains
When unmanaged domains with on_xend_stop="suspend" exist, managed
domains are not suspended by xend stop command. The processing of
cleanup_domains() is aborted by exception. This patch keeps suspending
managed domains even if unmanaged domains exist.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Wed, 12 Dec 2007 10:05:53 +0000 (10:05 +0000)]
tools: Fix distutils installation of xsview.
Distutils won't install xsview unless it has an __init__.py. This
patch adds an empty one, which is all that is required.
Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
Keir Fraser [Wed, 12 Dec 2007 10:04:29 +0000 (10:04 +0000)]
tools: Use os.system instead of exec to start xentop.
This makes no difference to the visible behaviour of "xm top" but
avoids the whole of xm from quitting if you're in "xm shell". This
provides the more intuitive behaviour of returning to the xm shell
interface after leaving xm top.
Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
Keir Fraser [Wed, 12 Dec 2007 10:03:32 +0000 (10:03 +0000)]
tools: Remove references to USB paravirt driver. Doesn't affect qemu usb args.
Some relics in the control tools still refer to the USB paravirt
driver. Remove this as it's dead code and is in the history for
anyone really interested. The Qemu device model has its own USB
configuration, which should still work.
Signed-off-by: Mark Williamson <mark.williamson@cl.cam.ac.uk>
Keir Fraser [Wed, 12 Dec 2007 10:03:09 +0000 (10:03 +0000)]
Add missing file from previous changeset.
Keir Fraser [Wed, 12 Dec 2007 09:59:53 +0000 (09:59 +0000)]
docs: Adjust revision number in Xen-API document and introduce revision history.
This patch adjusts the revision number to 1.0.1 and date in the
Xen-API document and introduces a revision history with entries for
1.0.0 and 1.0.1.
Signed-off-by: Stefan Berger <stefanB@us.ibm.com>
Keir Fraser [Wed, 12 Dec 2007 09:57:55 +0000 (09:57 +0000)]
xend, acm: Extend Xen-API with function to reset the policy
This patch extends the Xen-API and the legacy XML-RPC interface with a
function to reset the policy on the system (through an update with the
default policy). I adapted the code in 'xm resetpolicy' to use this
now.
This patch also extends libxen and the documentation to reflect the
new function.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Wed, 12 Dec 2007 09:54:21 +0000 (09:54 +0000)]
Fix domctl GCC dependency
Compilers other than GCC don't allow zero-sized structs.
Signed-off-by: John Levon <john.levon@sun.com>
Keir Fraser [Wed, 12 Dec 2007 09:53:00 +0000 (09:53 +0000)]
ioemu/qemu vga: save and restore vram buffer
The existing stdvga driver from xen-unstable tools/ioemu/hw/vga* does
not save the emulated VGA memory contents. The symptoms include video
malfunction after restore, including black screen (which can often be
fixed by asking the guest to redraw) but also missing font setup etc.
The attached patch fixes this by saving the entire VGA memory buffer,
just like the Xen ioemu Cirrus emulator does.
I have reinterpreted the `is_vbe' byte, which is related to
CONFIG_BOCHS_VBE, as a general flags word. This enables my code to
allow old images to be restored (albeit with loss of VGA memory), by
using another bit in that word to indicate whether the VGA memory dump
is present.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Mon, 10 Dec 2007 13:49:22 +0000 (13:49 +0000)]
ioemu: Include mouse dz in xenfb event packet
Needed for mouse wheel support in a PV guest.
Signed-off-by: Pat Campbell <plc@novell.com>
Keir Fraser [Mon, 10 Dec 2007 12:02:46 +0000 (12:02 +0000)]
xm-test: Don't run security test if ACM is not enabled.
I forgot to put in the check to prevent this test case from running
when ACM is not compiled into Xen. I am resetting the policy so that
an update with the prepared policy can be done without changing that
policy's header to match the current policy's version.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Mon, 10 Dec 2007 11:55:55 +0000 (11:55 +0000)]
x86: avoid LOCK prefix in some cases where it's not necessary.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 10 Dec 2007 11:49:12 +0000 (11:49 +0000)]
x86: eliminate (unused) return value from exception handling routines
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 10 Dec 2007 11:41:40 +0000 (11:41 +0000)]
Avoid duplication of domainID in messages.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 10 Dec 2007 11:37:13 +0000 (11:37 +0000)]
init_heap_pages() can be static.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 10 Dec 2007 11:34:02 +0000 (11:34 +0000)]
x86: Clean up boot/wakeup code.
* Generalise wakeup stack to general 'early stack' used everywhere.
* Ensure things that must be aligned are aligned.
* Remove some unused symbols.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Sat, 8 Dec 2007 17:35:32 +0000 (17:35 +0000)]
Fix XEN_EXTRAVERSION and shorten so it fits on a single line after
figlet-isation: 3.2.0-rc2-pre.
Keir Fraser [Sat, 8 Dec 2007 17:32:01 +0000 (17:32 +0000)]
Revert 16560:
822d4ec5cfb1.
Preference seems to be to update library versions only when the ABI
changes. Only libxenctrl/libxenguest have their version number changed
to 3.2.0, as a reminder that they change on pretty much every major
release.
libfsimage/libxenstore/libblktap have not changed substantially
recently, hence the ABI has not changed, and version number stays the
same as in Xen 3.1 (and before).
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Sat, 8 Dec 2007 17:27:10 +0000 (17:27 +0000)]
Start development for 3.2.0-rc2.
Keir Fraser [Sat, 8 Dec 2007 17:00:11 +0000 (17:00 +0000)]
Added tag 3.2.0-rc1 for changeset
1f0c6e0d74a4
Keir Fraser [Sat, 8 Dec 2007 16:59:49 +0000 (16:59 +0000)]
Update Xen version to 3.2.0-rc1
Keir Fraser [Sat, 8 Dec 2007 16:57:13 +0000 (16:57 +0000)]
hvm stdvga: Do not emulate PIO reads inside Xen. They should be rare
(PIO write emulation is really for book-keeping to detect when we
enter/leave stdvga mode, and to work out what to do with mmio
accesses), and we may do the wrong thing depending on emulated SVGA
hardware and current mode.
This simplifies the code and means that 'stdvga=1' once again works
properly and causes the stdvga bios to be loaded by hvmloader.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Sat, 8 Dec 2007 15:47:31 +0000 (15:47 +0000)]
xm-test, acm: fixes an API call due to recent changes.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Sat, 8 Dec 2007 15:46:04 +0000 (15:46 +0000)]
qemu 16550 uart: Fast-drop bursts of transmitted characters to avoid
stalling due to a disconnected pipe or pty.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
Keir Fraser [Fri, 7 Dec 2007 18:24:33 +0000 (18:24 +0000)]
x86: Respect e820 map even below 16MB.
NB. Even with this patch, x86/32 still statically allocates the range
1MB-12MB. This can be changed if there really are platforms that need
stuff to persist in that range after the OS starts to boot.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 7 Dec 2007 17:05:15 +0000 (17:05 +0000)]
x86: Change proliant io emulation stub to use pushf/popf instead of pushfw/popfw.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 7 Dec 2007 16:39:15 +0000 (16:39 +0000)]
vmx realmode: Fix exception delivery w.r.t. in-flight I/O.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 7 Dec 2007 14:44:13 +0000 (14:44 +0000)]
tools: Rationalise library soname versions.
* Arrange for the sonames of libxenstore, libxc, libfsimage and
libblktap to be set from a single place in Config.mk.
* Bumps the soname major version number to 3.2 in preparation for
3.2 rc1 after which we do not expect to have ABI changes.
I have not done anything about libaio and libflask. The former is
imported from elsewhere and if we're lucky will have sane versioning
upstream.
libflask has a very small interface and I'm hoping that the XSM
authors have been keeping some ABI discipline.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Fri, 7 Dec 2007 14:28:07 +0000 (14:28 +0000)]
hvm: Clean up AP initialisation. This allows AP bringup into emulated
real mode when running on VMX, as well as removing 100 LOC.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 7 Dec 2007 12:48:36 +0000 (12:48 +0000)]
ioemu: Include termios.h and sys/ioctl.h to get TIOCM_* definitions.
This is preferable to hard-coding them in the ioemu source file, or
including a Linux-specific header.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 7 Dec 2007 12:44:27 +0000 (12:44 +0000)]
xm: Fix help messages of xm vcpu-list/uptime
We can give multiple domains to the following commands.
But, the help messages of the commands are explained to be able
to give a single domain.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Fri, 7 Dec 2007 12:43:06 +0000 (12:43 +0000)]
[IOEMU] Correct hu keymap definitions
Signed-off-by: Pat Campbell <plc@novell.com>
Keir Fraser [Fri, 7 Dec 2007 12:42:24 +0000 (12:42 +0000)]
[IOEMU] Add latin2 key symbol definitions.
Allows Hungarian users plus others to enter their language specific
accented characters.
Signed-off-by: Pat Campbell <plc@novell.com>
Keir Fraser [Fri, 7 Dec 2007 00:41:54 +0000 (00:41 +0000)]
Fix ioemu compile: serial.c was including a Linux-specific header.
Signed-off-by: John Levon <john.levon@sun.com>
Keir Fraser [Thu, 6 Dec 2007 17:47:53 +0000 (17:47 +0000)]
x86: Remove bogus variables on construct_dom0()
The check for supervisor_mode_kernel feature bit was being done on the
dom0_features_{supported,required} variables, but they are always set
to zero.
The feature bits are stored on elf_dom_parms struct, not on those
variables.
From: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 17:10:26 +0000 (17:10 +0000)]
ia64: Fix build after buf_ioreq struct change.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Keir Fraser [Thu, 6 Dec 2007 15:36:07 +0000 (15:36 +0000)]
libxc: Interface has changed a bit since Xen 3.1, so bump the major
number.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 15:17:48 +0000 (15:17 +0000)]
hvm: buffered_ioreq does not need a 'df' field. Add explicit bitfield
padding to ioreq and buf_ioreq structs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 13:56:00 +0000 (13:56 +0000)]
32-on-64: Fixes to previous changeset.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 13:39:19 +0000 (13:39 +0000)]
32-on-64: Fix domain address-size clamping, implement
copy-on-grant-transfer, and eliminate 166GB memory limit for x86/64
Xen.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 12:13:12 +0000 (12:13 +0000)]
ACM: Recover if XML policy representation is missing.
Recover the system if the XML representation of the currently loaded
policy is missing. Force the installation of the DEFAULT policy.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Thu, 6 Dec 2007 12:12:29 +0000 (12:12 +0000)]
xm-test: An additional ACM security test case for the test suite.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Thu, 6 Dec 2007 11:56:51 +0000 (11:56 +0000)]
hvm: Split no_missed_tick_accounting into two modes:
* no_missed_ticks_pending ('SYNC')
* one_missed_tick_pending ('MIXED')
This is based on a patch by Dave Winchell <dwinchell@virtualiron.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 11:29:18 +0000 (11:29 +0000)]
xc ptrace: Fix a couple of bugs in page-table walking.
Signed-off-by: John Zulauf <john.zulauf@intel.com>
Keir Fraser [Thu, 6 Dec 2007 11:24:02 +0000 (11:24 +0000)]
[XEN, 32on64]: Correct continuation translation for large
compat_mmuext hypercalls.
At the point where we translate the continuation "nat_ops" points to
the beginning of the batch of "i" entries, therefore it must be
incremented by the number of entries processed "i - left". At the same
point "cmp_uops" points to the end of the batch of entries and must
therefore be decremented by "left".
The new count value has already been set by do_mmuext_op to "left" and
therefore it is correct to add "count - i" since that is the number of
entries that remain after this batch.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Keir Fraser [Thu, 6 Dec 2007 11:23:04 +0000 (11:23 +0000)]
x86: Fix management support on HP ProLiant systems.
Adds support to allow host-platform-specific handling of I/O port
traps. Specifically adds support to handle an HP ProLiant I/O port in a
special way.
Signed-off-by: Mike Garrett <michael.garrett@hp.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 6 Dec 2007 10:41:10 +0000 (10:41 +0000)]
qemu-dm: Limit transmit retries from virtual UART FIFO.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
Keir Fraser [Wed, 5 Dec 2007 17:56:13 +0000 (17:56 +0000)]
xenstore: expanding_buffer variables are supposed to be static. Apart
from anything else, this was guaranteeing they were initialised.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 5 Dec 2007 17:28:59 +0000 (17:28 +0000)]
Check block file existence.
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Keir Fraser [Wed, 5 Dec 2007 14:21:00 +0000 (14:21 +0000)]
[QEMU-DM] Upgrade emulated UART to 16550A.
This patch adds 16550 emulation to qemu-dm. I still consider it a work
in progress, but from my testing, it consistently performs better than
the old code already, sometimes considerably so (on my laptop, dumping
out data over serial from a HVM DomU -> pty in Dom0 was up to 5.3
times faster than with the old 16450 code). I can consistenly reach
full 115200 baud speeds over physical serial lines when the virtual
device is backed by a phys port, which I never could with the old code.
There are still some things to be done. I want to add proper error
handling, so that overflow/framing & parity errors on the physical
port get detected and reported by the virtual port. Also, now that
FIFOs are in place, I believe performance could be improved
significantly by putting some code into the hypervisor so that reads &
writes from the FIFOs don't have to exit into qemu-dm at all. I'm also
reading up on the specs for newer uarts with deeper FIFOs.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
Keir Fraser [Wed, 5 Dec 2007 14:18:34 +0000 (14:18 +0000)]
[QEMU-DM] Modem control line & msl/mcr register support.
This patch enables handling of the modem/flow control lines of a
serial port when the backend for the virtual port is a physical serial
port. During initialization, it tries to load the msr with the
detected status from the real port (this is consistent with physical
uart, which starts with its msr values set according to the status of
the modem status lines). If the ioctl returns -ENOTSUP, then the code
assumes the backend is not a real serial port and will disable any
further attempts to manipulate or read the physical port's line
status.
It's tries to be as "correct" as possible in its msr/msl handling,
with the exception of modem line status change interrupts. A real
16550 uart apparently have a delay time of 250ns between when a modem
status line changes and the IRQ line goes high. In this patch, an
"idle" port is polled for line status changes only if the guest has
enabled UART_IER_MSI is enabled, and only polled every 10 ms.
Signed-off-by: Trolle Selander <trolle.selander@gmail.com>
Keir Fraser [Wed, 5 Dec 2007 14:01:39 +0000 (14:01 +0000)]
hvm: Initialize vlapic->timer_last_update.
Without the fix, before the first vlapic timer interrupt is injected,
the "vlapic->timer_last_update" in vlapic_get_tmcct() is always 0,
causing a wrong value of counter_passed.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Keir Fraser [Wed, 5 Dec 2007 13:49:19 +0000 (13:49 +0000)]
x86_64: Do not leak trampoline mapping into dom0's initial address space.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 5 Dec 2007 11:08:07 +0000 (11:08 +0000)]
xenstore: document the xenstore protocol
The attached patch adds a new text file docs/misc/xenstore.txt which
describes the actual protocol implemented by xenstored. This was
reverse-engineered from the actual code in tools/xenstore.
I didn't bother making any automatic arrangements to ensure that the
implemented and documented protocols are kept in step (for example,
automatic code generation, etc.) The protocol is rather messy
unfortunately and unsuitable for an xdr approach, and in any case is
not likely to change very quickly.
Also in this patch are a couple of comments for xenstored_core.c which
help clarify the behaviour of some payload parsing helper functions.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Wed, 5 Dec 2007 11:07:12 +0000 (11:07 +0000)]
xenstore-ls -f for find(1)-like output
The current output of xenstore-ls can be quite hard to read and it is
not very intractable for postprocessing with sort|diff and the like.
The patch below provides a -f option which produces output with the
full key pathname on each line, and which disables the value
truncation and the `.'-padding when used with -p (since these latter
two aren't likely to be very useful when values are preceded by long
pathnames).
While I was at it I added the `-s' option to the usage message, where
it was previously missing.
The results looks like this:
...
/local/domain/1 = ""
/local/domain/1/vm = "/vm/
8b5fd34a-e268-fab5-9cde-
c06eda21df16"
/local/domain/1/device = ""
/local/domain/1/device/vbd = ""
/local/domain/1/device/vbd/2049 = ""
/local/domain/1/device/vbd/2049/virtual-device = "2049"
/local/domain/1/device/vbd/2049/device-type = "disk"
/local/domain/1/device/vbd/2049/protocol = "x86_32-abi"
...
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Wed, 5 Dec 2007 11:05:47 +0000 (11:05 +0000)]
xenstore: deprecating but \-quoting binary data.
Presently it's not clear what the allowable character set is for
values in xenstore. The current command-line tools just pass values
to printf("%s",...) so implicitly assume that it's 7-bit printable
ASCII (since the interpretation of 8-bit characters would be unclear).
However there are rumours of programs which dump binary data into
xenstore and/or bugs involving nul bytes being added to the ends of
xenstore values (and even of some drivers insisting on a spurious
nul).
There isn't all that much useful documentation about xenstore. There
is a doc detailing which xenstore keys may be used and what their
meanings are (interface.tex) but it is very out of date, amongst other
reasons because it's in format which is not very easy to update when
adding functionality to the code and because there is no way to check
programs' behaviour in xenstore against the spec. I think the
xenstore part of interface.tex should be replaced with a new document
in a simpler format, which should amonst other things be sufficiently
machine-readable that automatic testing could reveal at least basic
out-of-spec behaviours like setting or using undocumented keys.
This new document ought to specify the allowable character set of both
keys and values, and ought to specify the xenstored protocol as well.
It seems to me that the appropriate character set for xenstore values
is 7-bit printing ASCII (0x20..0x7e). Values should not have a
trailing nul byte `on the wire' but of course the xs library interface
should continue to add an additional nul beyond the quoted length for
the convenience of callers.
That is consistent with nearly all of the existing uses and makes the
whole system much more tractable compared to an explicit expectation
that binary data will be stored. (For example, if we like binary data
in xenstore, why are uuids represented in their printable hex
encoding?) xenstore data is supposedly non-performance-critical
metadata for use by control plane machinery so the overhead of
printing and parsing text strings is hardly a problem.
Applications which set binary values should be deprecated but to avoid
breaking those applications xenstored should continue indefinitely to
be binary-transparent.
Under these circumstances it can only be regarded as a bug that the
current command-line tools are lossy in the presence of binary data.
Not only does this make them break for those now-deprecated uses, but
it also prevents them from being used to detect and debug problems
relating to the exact byte strings being recorded in xenstore.
As a first step towards the utopia I describe above, this patch
causes xenstore-read and -ls to \-escape the values of xenstore
keys, and xenstore-write to un-\-escape them. The escaping is a
subset of that permitted by C89; only \t \r \n \\ and hex and octal
are used and recognised. (So no \f, \a etc.)
This change will not change the representation by these tools of
values which contain only 7-bit printing ASCII characters unless they
contain \'s.
Values which contain \'s will need to be quoted on entry and dequoted
on exit if being manipulated by xenstore-*. The only values likely to
be affected are paths in Windows guest filesystems and in practice we
believe that any such filename which is actually relevant to anything
will be set other than via xenstore-write.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Wed, 5 Dec 2007 10:53:47 +0000 (10:53 +0000)]
vt-d: Use bitmap to solve domain-id limitation issue.
The Capability register reports the domain-id width supported by
hardware. For implementations supporting less than 16-bit domainids,
unused bits of domain identifier field(87:72) in Context entry are
treated as reserved by hardware. For example, for an implementation
supporting 4-bit domain-ids, bits 87:76 of this field are treated as
reserved. 16 is a small number, overflow is easy to happen. What's
more,
context-entries programmed with the same domain identifier must always
reference the same address translation structure (through the ASR
field). So Dom16 will conflict with Dom0, and device assignment fails.
This patch implements a domaid id bitmap to solve above issue.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 5 Dec 2007 10:42:45 +0000 (10:42 +0000)]
PV-on-HVM: Fix build for RHEL/SLES.
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
Keir Fraser [Wed, 5 Dec 2007 10:40:19 +0000 (10:40 +0000)]
xm: Fix help message of xm info.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Wed, 5 Dec 2007 10:34:15 +0000 (10:34 +0000)]
x86_emulate: EFLAGS.PF only reflects least-significant byte of result,
so even_parity() can return to its original prototype.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 5 Dec 2007 10:00:42 +0000 (10:00 +0000)]
[USER GUIDE] [ACM/sHype Update] User Guide Update for sHype/Xen
This patch updates the ACM/sHype user guide chapter. It updates the
examples throughout the chapter and describes advanced security policy
and domain management based on the new ACM xm command extensions that
were submitted this morning (cf.
http://lists.xensource.com/archives/html/xen-devel/2007-12/msg00043.html
and
http://lists.xensource.com/archives/html/xen-devel/2007-12/msg00041.html).
Signed-off: Reiner Sailer <sailer@us.ibm.com>
Keir Fraser [Wed, 5 Dec 2007 09:59:23 +0000 (09:59 +0000)]
blktap: cleanups for *BSD.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Wed, 5 Dec 2007 09:57:32 +0000 (09:57 +0000)]
Fix help message of on_xend_stop
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Wed, 5 Dec 2007 09:56:17 +0000 (09:56 +0000)]
x86: Sync cpu/common.c with Linux 2.6.18.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 5 Dec 2007 09:46:55 +0000 (09:46 +0000)]
x86 domain builder: Propagate x86_compat return code.
Signed-off-by: Elizabeth Kon <eak@us.ibm.com>
Keir Fraser [Wed, 5 Dec 2007 09:45:13 +0000 (09:45 +0000)]
Implement legacy XML-RPC interface for ACM commands.
This patch moves the directory of files where xend is writing policies
and resource labels into to /var/lib/xend/security/policies.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Wed, 5 Dec 2007 09:44:20 +0000 (09:44 +0000)]
Implement legacy XML-RPC interface for ACM commands.
This patch implements a (non Xen-API) legacy XML-RPC interface for the
ACM commands and funnels the calls into code introduced by the Xen-API
support for ACM security management. Since some of the functionality
has changed, also the xm applications have changed. In particular the
following old commands have been removed along with some tools the
have become obsolete now:
- loadpolicy (included in: setpolicy)
- makepolicy (included in: setpolicy)
- cfgbootpolicy (included in: setpolicy)
and the following commands been introduced:
- setpolicy
- getpolicy
- resetpolicy
All tools have been adapted to work in Xen-API and legacy XML-RPC
mode. Both modes support the same functionality.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Tue, 4 Dec 2007 22:54:58 +0000 (22:54 +0000)]
Keir Fraser [Tue, 4 Dec 2007 11:52:10 +0000 (11:52 +0000)]
Fix xenctl_cpumap_to_cpumask.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 11:23:05 +0000 (11:23 +0000)]
x86_emulate: Fix SHLD/SHRD emulation -- cannot rely on dst.orig_val
being already initialised.
From: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 11:16:41 +0000 (11:16 +0000)]
docs: Fix interface manual to correctly reference
update_va_mapping_otherdomain.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 11:06:05 +0000 (11:06 +0000)]
Merge with ia64.
Keir Fraser [Tue, 4 Dec 2007 11:04:57 +0000 (11:04 +0000)]
x86: clean up mm.c and cache 'current' where appropriate.
Attached patch caches current vcpu and current->domain where
appropriate. Make mod_l4_entry() definition matching with
mod_l?_entry(). Since current->domain was always passed to it, this
has no functional change.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 4 Dec 2007 10:50:28 +0000 (10:50 +0000)]
blkif interface: Add BLKIF_OP_FLUSH_DISKCACHE.
This disk operation, implemented on Solaris only so far, asks a
backend to flush the disk caches of the underlying storage if
possible, and is contigent upon the 'feature-flush-cache' xenstore
flag (although currently Solaris will always attempt to flush
anyway).
Signed-off-by: John Levon <john.levon@sun.com>
Keir Fraser [Tue, 4 Dec 2007 10:48:28 +0000 (10:48 +0000)]
blktap: remove unused headers.
Attached patch removes unused linux specific headers
and makes bswap.h ready for BSD support.
This is first step for BSD support in blktap. More to come.
No functional change.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 4 Dec 2007 10:47:10 +0000 (10:47 +0000)]
tboot, xen: Update for Trusted Boot v20071128.
This patch updates the Xen to work with the latest version (
20071128)
of Trusted Boot (tboot). This version of tboot now resides at 16MB
(instead of the previous <1MB), in addition to several other
enhancements. By residing at 16MB, this version of tboot will be
protected from access by dom0.
This patch allows Xen to correctly map the tboot shutdown code that it
must trampoline into for a clean shutdown (without this patch Xen will
fault on shutdown). This patch will also work with the previous
version of tboot.
Signed-off-by: Joseph Cihula <joseph.cihula@intel.com>
Keir Fraser [Tue, 4 Dec 2007 10:41:55 +0000 (10:41 +0000)]
xend: Implement get_by_name_label for class XendNetwork
Although XenAPI c-bindings support this operation on Network class,
there is no implementation in xend. This patch provides one.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
Keir Fraser [Tue, 4 Dec 2007 10:40:48 +0000 (10:40 +0000)]
Fix xenmon.py to work on Solaris
The xenmon.py script does not work on Solaris because of (1) its
assumption that xenbaked is in the users path and, (2) the use of the
killall command. Changed xenmon.py to use pkill instead and provided
the path to xenbaked on Solaris.
Signed-off-by: Tariq Magdon-Ismail <tariqmi@sun.com>
Keir Fraser [Tue, 4 Dec 2007 10:29:00 +0000 (10:29 +0000)]
vt-d: Print messages when:
- vt-d has been enabled by xen
- user attempts assign a PCI device that has already been assigned to another hvm guest
Signed-off-by: Allen Kay <allen.m.kay@intel.com>
Keir Fraser [Tue, 4 Dec 2007 10:25:35 +0000 (10:25 +0000)]
xsm: Consolidate xsm processing within domain control hypercall.
Consolidate all the 15 xsm calls from within do_domctl a single
routine that is only called in one place, xsm_domctl:
int xsm_domctl (struct xen_domctl *domctl);
The parameter to domctl is a pointer to the xen_domctl structure that
contains a union of all sub operational parameters.
The benefits of this patch include:
(1) Easier to maintain because there is one place in the entire
hypercall to check with the xsm, instead of 15 or more.
(2) New sub-operations don't also need to add a corresponding xsm
function.
(3) Removes 178 lines of code.
(4) Enhanced security because of 1-4.
Signed-off-by: Mike D. Day <ncmike@us.ibm.com>
Keir Fraser [Tue, 4 Dec 2007 10:17:32 +0000 (10:17 +0000)]
xentrace: Don't append trace on existing file.
When you run "xentrace -e <mask> trace.output" the first time, all is
fine. When you run it a second time, then the data is appended which
makes you reading old data with xentrace_format and you interprete it
as new data. This usually happens when you automated tracing guests
with xentrace and xentrace_format with a script.
Therefore, attached patch makes xentrace to truncate the file to zero
bytes before writing any data.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 4 Dec 2007 10:13:04 +0000 (10:13 +0000)]
domain builder: make mmap() failure message more verbose.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 4 Dec 2007 10:11:54 +0000 (10:11 +0000)]
mini-os: No -fpic when building for x86.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 10:10:23 +0000 (10:10 +0000)]
vnet: Fix compilation on x86/64 which erroneously asserts
__ARCH_WANT_SYS_SOCKETCALL.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 10:04:00 +0000 (10:04 +0000)]
vnet: Fix compilation.
Signed-off-by: Samuel Thibault <samuel.thibault@citrix.com>
Keir Fraser [Tue, 4 Dec 2007 09:56:10 +0000 (09:56 +0000)]
x86: Move get_page/put_page out of header file, and only print on
get_page() failure if the domain is not dying.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Alex Williamson [Fri, 30 Nov 2007 15:54:33 +0000 (08:54 -0700)]
merge with xen-unstable.hg
Keir Fraser [Thu, 29 Nov 2007 19:30:33 +0000 (19:30 +0000)]
x86_emulate: Fix POPA. Few other cleanups.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Alex Williamson [Thu, 29 Nov 2007 19:15:43 +0000 (12:15 -0700)]
[IA64] Implement guest_os_type for ia64
This makes use of the domain config option guest_os_type for
ia64 and removes the backing for the previous ACPI based
mechanism used previously. A user wanting optimal performance
for a specific type of OS guest running in an HVM domain should
make use of this new option. See updated xmexmaple.vti for
available options. All supported OSes should always work using
the default option or leaving the option unspecified. Originally
based on patch from Zhang Xin.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Alex Williamson [Thu, 29 Nov 2007 19:01:44 +0000 (12:01 -0700)]
[IA64] Provide backing for XEN_DOMCTL_set_opt_feature
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Alex Williamson [Thu, 29 Nov 2007 18:57:23 +0000 (11:57 -0700)]
[IA64] Create XEN_DOMCTL_set_opt_feature
Intended for domain builder code to be able to set architecture
specific optimization features for a domain.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Acked-by: Keir Fraser <keir.fraser@citrix.com>
Alex Williamson [Thu, 29 Nov 2007 18:54:31 +0000 (11:54 -0700)]
[IA64] Create common guest_os_type domain config option
This is an optional domain config entry that may be used by
architecture specific builder code to setup various optimizations
based on the guest OS intended to run in the domain. Based on
patch from Zhang Xin.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Acked-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 28 Nov 2007 22:36:33 +0000 (22:36 +0000)]
vmx: Better tracing in vmcs_dump_vcpu() -- grab RIP/RSP/RFLAGS from
cpu_user_regs structure as well as VMCS.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>